这是一个可用来拖动及缩放“摄像机”的交互式控制器。任何精灵 都可以看作 一个 指向 它的绘图内容 和显示列表中后代对象的摄像机。PanZoomControl使得妳可以操作 一个精灵的变换矩阵 ( transform.matrix 属性) , 以便模拟摄像机 的运动,例如平移和缩放。 要想平移及缩放一组对象的话,只需将一个PanZoomControl 添加到包含了这组对象的精灵对象上即可。
var s:Sprite; // 包含了一组条目的一个精灵
new PanZoomControl().attach(s); // 将一个平移和缩放控制 器附加到这个精灵上
一旦创建了一个PanZoomControl,就可以通过按住鼠标拖动 的方式来平移。缩放 可通过两种方式来进行:滚动鼠标滚轮 ,或者按住Ctrl键同时按住鼠标 上下拖动。
默认情况下,PanZoomControl 会把自己附加到舞台( stage )上,监听鼠标事件 。如果显示列表 中只有一组对象的话,这样做就狠好了。但是如果 妳 有多组对象,并且要分别对待其平移 及缩放情况的话,就会产生问题了。PanZoomControl的构造函数 还有第二个参数 ,它指定了一个“热点区域”("hit area"), 这指的是显示列表中的一个形状, 只有这个形状里的鼠标事件会被监听,并且按照实际事件 来做平移及缩放。例如, 妳可以指定一个位于 可缩放内容后面的背景精灵对象, 并将“摄像机”加到它的上面。然后 妳就可以设置 scrollRect 属性 , 以指定哪个区域 中的内容是要被平移及缩放的。
HxLauncher: Launch Android applications by voice commands